package com.ccys.common.third.payPal.config;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
 * 三方参数 读取当前包下的sms.properties
 * <p>
 * 当本地启动时，因为不存在file路径，所以会加载classpath；
 * 当jar启动时，若file路径不存在，会加载classpath；反之会加载file路径同时覆盖classpath路径下的内容；
 * ignoreResourceNotFound = true 一定要加上，否则找不到会报错。加上之后会忽略找不到的配置文件。
 *
 * @author Administrator
 */
@Component
@PropertySource(value = {"classpath:config/payPal.properties", "file:./config/payPal.properties", "file:./../config/payPal.properties"}, ignoreResourceNotFound = true, encoding = "utf-8")
public class PayPalConstants {

    /**
     * paypal配置应用的客户端ID
     */
    public static String clientId ;

    /**
     * paypal配置应用的客户端密钥
     */
    public static String clientSecret;

    /**
     * paypal连接环境：live表示生产，sandbox表示沙盒
     */
    public static String mode;
    /**
     * 支付成功页面
     */
    public static String PAYPAL_SUCCESS_PAGE;
    /**
     * 支付取消页面
     */
    public static String PAYPAL_CANCEL_PAGE;
    /**
     * 支付成功url
     */
    public static String PAYPAL_SUCCESS_URL;
    /**
     * 支付成功取消url
     */
    public static String PAYPAL_CANCEL_URL;

    @Value("${pay.paypal.mode}")
    public void setMode(String mode) {
        if (StringUtils.isNotBlank(mode)) {
            mode = mode.trim();
        }
        PayPalConstants.mode = mode;
    }
    @Value("${pay.paypal.clientId}")
    public void setClientId(String clientId) {
        if (StringUtils.isNotBlank(clientId)) {
            clientId = clientId.trim();
        }
        PayPalConstants.clientId = clientId;
    }
    @Value("${pay.paypal.clientSecret}")
    public void setClientSecret(String clientSecret) {
        if (StringUtils.isNotBlank(clientSecret)) {
            clientSecret = clientSecret.trim();
        }
        PayPalConstants.clientSecret = clientSecret;
    }
    @Value("${pay.paypal.PAYPAL_SUCCESS_PAGE}")
    public void setPaypalSuccessPage(String paypalSuccessPage) {
        if (StringUtils.isNotBlank(paypalSuccessPage)) {
            paypalSuccessPage = paypalSuccessPage.trim();
        }
        PayPalConstants.PAYPAL_SUCCESS_PAGE = paypalSuccessPage;
    }
    @Value("${pay.paypal.PAYPAL_CANCEL_PAGE}")
    public void setPaypalCancelPage(String paypalCancelPage) {
        if (StringUtils.isNotBlank(paypalCancelPage)) {
            paypalCancelPage = paypalCancelPage.trim();
        }
        PayPalConstants.PAYPAL_CANCEL_PAGE = paypalCancelPage;
    }
    @Value("${pay.paypal.PAYPAL_SUCCESS_URL}")
    public void setPaypalSuccessUrl(String paypalSuccessUrl) {
        if (StringUtils.isNotBlank(paypalSuccessUrl)) {
            paypalSuccessUrl = paypalSuccessUrl.trim();
        }
        PayPalConstants.PAYPAL_SUCCESS_URL = paypalSuccessUrl;
    }
    @Value("${pay.paypal.PAYPAL_CANCEL_URL}")
    public void setPaypalCancelUrl(String paypalCancelUrl) {
        if (StringUtils.isNotBlank(paypalCancelUrl)) {
            paypalCancelUrl = paypalCancelUrl.trim();
        }
        PayPalConstants.PAYPAL_CANCEL_URL = paypalCancelUrl;
    }



}
